/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package proyectocatalina.reportes;
import CapadeDatos.ConexionBD;
import java.io.File;
import java.net.URL;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.util.HashMap;
import java.util.Map;
import net.sf.jasperreports.engine.*;
import net.sf.jasperreports.engine.util.JRLoader;
import net.sf.jasperreports.view.*;
import net.sf.jasperreports.engine.JasperFillManager;
import net.sf.jasperreports.engine.JasperPrint;
import net.sf.jasperreports.engine.JasperReport;

/**
 *
 * @author clevano
 */
public class reporte {
     CapadeDatos.ConexionBD con = new ConexionBD();
     Connection conn=null;
     String carrera;
     String periodo;
     String semestre;
     String turno;
     String semestrecod;
     public reporte(String car, String per,String sem,String turn,String semcod){
            carrera = car;
            periodo = per;
            semestre = sem;
            turno = turn;
            semestrecod = semcod;
     }
    public void runPrimerReporte(){
          conn = con.getConnection();
        try
        {
            String master=System.getProperty("user.dir")+"/src/proyectocatalina/reportes/primerRepote.jasper";
            String archivosubreporte = System.getProperty("user.dir") + "/src/proyectocatalina/reportes/";
//            URL url = ejecutarficha.class.getResource("primerRepote.jasper");
//            File f = new File(master.toURI());
//            f = f.getParentFile();
//            String archivosubreporte =  f.toString() + "/";
//            System.out.println("master" + url);
//            System.out.println("master" + archivosubreporte);
            if(master== null)
            {
                System.out.println("No encuentro el archivo del reporte maestro");
                System.exit(2);
            }
            JasperReport masterReport= null;
            try
            {
                masterReport =(JasperReport) JRLoader.loadObject(master);

            }
             catch(JRException e)
            {
                  System.out.println("Error cargando el reporte maestro: "+e.getMessage());
                System.exit(3);
            }
             Map parametro = new HashMap();
             parametro.put("SUBREPORT_DIR", archivosubreporte);
             parametro.put("carreranombre",carrera);
             parametro.put("turnodescripcion",turno);
             parametro.put("semestredescripcion",semestre);
             parametro.put("periodocod",periodo);
             parametro.put("semestrecod",semestrecod);
             JasperPrint jasperPrint = JasperFillManager.fillReport(masterReport, parametro,conn);
             JasperViewer jviewer= new JasperViewer(jasperPrint,false);
             jviewer.setTitle("Nomina de Matricula");
             jviewer.setVisible(true);
        }
        catch(Exception j)
        {
           System.out.println("Mensaje de Error: "+j.getMessage()) ;
        }
    }
//    public void runNewReport()
//    {
//         try
//        {
//            String master=System.getProperty("user.dir")+"/src/reportes/newReport.jasper";
//            System.out.println("master" + master);
//            if(master == null)
//            {
//                System.out.println("No encuentro el archivo del reporte maestro");
//                System.exit(2);
//            }
//            JasperReport masterReport= null;
//            try
//            {
//                masterReport =(JasperReport) JRLoader.loadObject(master);
//
//            }
//             catch(JRException e)
//            {
//                  System.out.println("Error cargando el reporte maestro: "+e.getMessage());
//                System.exit(3);
//            }
//             Map parametro = new HashMap();
//
//             JasperPrint jasperPrint = JasperFillManager.fillReport(masterReport, parametro,conn);
//
//             JasperViewer jviewer= new JasperViewer(jasperPrint,false);
//             jviewer.setTitle("Nomina de Matricula");
//             jviewer.setVisible(true);
//        }
//        catch(Exception j)
//        {
//           System.out.println("Mensaje de Error: "+j.getMessage()) ;
//        }
//    }
}
